package cn.cloudreal.cbms.castDetail.service;

import java.util.List;
import java.util.Map;

import cn.cloudreal.cbms.common.util.PageBean;
import cn.cloudreal.cbms.vo.CastDetail;
import cn.cloudreal.cbms.vo.Material;
import cn.cloudreal.cbms.vo.MediaPrice;
import cn.cloudreal.cbms.vo.Mediasumm;
import cn.cloudreal.cbms.vo.Medium;
import cn.cloudreal.cbms.vo.Project;
import cn.cloudreal.cbms.vo.ProjectMedium;
import cn.cloudreal.cbms.vo.QueryArrangement;

/**
 * <p>
 * Title: CBM
 * </p>
 * <p>
 * Description:投放明细Service层接口
 * </p>
 * <p>
 * Copyright: Copyright (c) 2012
 * </p>
 * <p>
 * Company:云恒瑞通
 * </p>
 * 
 * @author WangTao
 * @date 2012-07-09
 */
public interface CastDetailService
{
    public int getCastDetailCount(Map condition);

    public List<CastDetail> getMediumCastDetailList(Map condition, PageBean page);
    
    public CastDetail getMediumCastDetail(ProjectMedium projectMedium);
    
    public int updateMediumCastDetail(CastDetail castDetail, int flag);
    
    public List<CastDetail> getProjectCastDetailList(Map condition, PageBean page);
    
    public boolean deleteCastDetail(ProjectMedium pm, Medium m);
    
    public int insertBasicInfo(ProjectMedium projectMedium);
    
    public void insertMaterialInfo(ProjectMedium projectMedium);
    
    public List<Project> ajaxGetProject(Project project);
    
    public List<Mediasumm> ajaxGetMedia(MediaPrice mediaPrice);
    
    public List<Medium> ajaxGetMedium(Medium medium);
    
    public List<Material> ajaxGetMaterial(Material material);
    
    public ProjectMedium getProjectMediumByProMedID(int proMedID);

    public Project getProjectByProjectID(String projectID);

    public Medium getMediumByMediumID(int mediumID);
    
    public boolean updateAllArrangement(String[] totalMediumArrangement, ProjectMedium pm, Medium m);
    
    public List<QueryArrangement> queryArrangement(Map condition, PageBean page);
    
    public int queryArrangementCount(Map condition);
    
    public List<String> getMediumByField(Map condition);
}
